<?php
//总金额
$zong = 50;
//人数
$ren = 10 ;
//最小值
$jine=0.1;
$arr=[];
$zong=50-$ren*$jine;
//最大值
$max = 50/$ren+$ren*100;

for ($i=0;$i<$ren;$i++){
    $arr[$i]=$jine;
}

function test(&$zong,&$arr,$max,$ren){
        for ($i=0;$i<$ren;$i++){
             if($zong <=0){
                  break;
             }
             if($arr[$i]>=$max){
                 continue;
             }
             $a=rand($arr[$i],$max)/10;
             $a=$a/10;
             if($a>=$zong){
                 $a=$zong;
             }
             $zong = $zong-$a;
             $arr[$i]+=$a;
//              $arr[$i]=number_format($arr[$i], 1);
             if($i==$ren-1){
                 test($zong,$arr,$max,$ren);
             }
        }
}
//function randFloat($min = 0, $max = 1) {
//    $rand = $min + mt_rand() / mt_getrandmax() * ($max - $min);
//    return floatval(number_format($rand,4));
//}
test($zong,$arr,$max,$ren);

 print_r($arr);
// class Test{
//      static public function t(){
//          echo 123;
//      }
// }

// $arr[0]= 'Test';
//  $arr[0]::t();